HELP CLEAN

CLEAN <in_cover> {out_cover} {dangle_length} {fuzzy_tolerance} {POLY | LINE}
 
generates a coverage with correct polygon or arc-node topology.  To do this,
CLEAN edits and corrects geometric coordinate errors, assembles arcs into
polygons and creates feature attribute information for each polygon or arc
(i.e., creates a PAT or AAT).
 
arguments
 
<in_cover> - the coverage to be cleaned.
 
{out_cover} - the coverage created by CLEAN.  If the <in_cover> and the
{out_cover} have the same name, the <in_cover> will be replaced.  By default,
the <in_cover> is replaced.
 
{dangle_length} - the minimum length allowed for dangling arcs in the
<out_cover>.  A dangling arc is an arc which has the same polygon internal
number on its left and right sides and ends at a dangling node.  Dangling arcs
are removed for both the POLY and LINE options.  A value of -1 will be accepted
and will act like a '#' (the default value).  All other negative values will
not be accepted.  If the {dangle_length} is not provided, the {dangle_length}
is read from the coverage TOL file if the TOL file exists.  Otherwise,
{dangle_length} is set to 0 (the default).
 
{fuzzy_tolerance} - the minimum distance between arc vertices in the
{out_cover}.  A value of -1 will be accepted and will act like a '#' (the
default value).  All other negative values will not be accepted.  The default
is determined in this order.
 
1) The tolerance is read from the coverage TOL file, if the TOL file  exists.
2) If no TOL file exists and the width of the BND is between 1  and 100, the
   tolerance is set to 0.002.
3) Otherwise, the tolerance is 1/10,000 of the width or height of the  BND,
   whichever is greater.
 
A fuzzy tolerance value of 0 will not be accepted by CLEAN.
 
{POLY | LINE} - specifies whether to create polygon topology and a PAT or arc-
node topology and an AAT.  POLY is the default option.  If POLY is used on a
coverage which has an existing AAT, CLEAN will also automatically rebuild the
AAT.
 
notes
 
An <in_cover> cannot be a point coverage.  Use the BUILD command with
the POINT option to create the PAT for a point coverage.
 
If <in_cover> has either PAT or AAT feature attribute tables, they are
automatically updated in {out_cover} for the POLY option.  Only the AAT will be
updated when using the LINE option.  The internal number of each input coverage
feature is used to relate attribute information from the <in_cover> feature
attribute table to the {out_cover} to ensure that the attributes are properly
joined into the output feature attribute tables.  Feature User-IDs do not have
to be unique to ensure that each input feature keeps its attributes in the
<out_cover>.
 
The POLY and LINE options with CLEAN will update the SEC and RAT with
adjustments for splitting and arc renumbering.  Route-systems attached to arcs
merged away by fuzzy tolerance are moved to the surviving arc.
 
Route-systems in the input cover will be maintained in the output cover.
 
Polygon label points are not required by the CLEAN command, but must be used
if you want nonzero User-IDs for polygons.  Polygons which contain no label
points are assigned a User-ID of 0 in CLEAN.
 
Before CLEAN, place only one label point in each polygon.  If a polygon
contains more than one label point, one of the label points in the polygon is
arbitrarily chosen to assign the User-ID.  Even though one label point is
chosen for User-ID assignment, other label points are not removed by CLEAN.
 
The maximum number of arcs allowed per polygon is 10,000, including all arcs
which define islands or donuts within a polygon.
 
CLEAN with the POLY option creates one additional polygon called the
background or universe polygon.  It is always given polygon internal number 1,
and its area is the total sum of the areas of all other polygons in the
coverage.  It is shown as a negative AREA in the PAT.
 
The {dangle_length} and {fuzzy_tolerance} for {out_cover} are set and verified
by CLEAN.
 
CLEAN copies input coverage annotation into the output coverage.
 
When editing a coverage in ARCEDIT, an MSK file is created containing
information from the edited portion of that coverage.  This enables CLEAN to
complete a 'partial processing' of the edited portion.
 
The coordinate precision of the output coverage is determined by the current
processing rule as set by the PRECISION command.  If the processing rule has
not yet been established using PRECISION during the current ARC/INFO session,
then the processing rule will be HIGHEST.  This means that CLEAN will create an
output coverage in the same precision as the input coverage.
 
On single-precision coverages, CLEAN calculates a minimum tolerance based on
the mathematical precision of the coverage (based on the width of the BND and
the number of decimal places).  If the calculated minimum tolerance is greater
than the fuzzy tolerance entered on the command line, the calculated minimum
tolerance is used.
 
If the calculated tolerance is greater than your application allows, an
alternative to CLEAN is to run INTERSECTERR at ARC or ARCEDIT, correct the
intersecting arcs in ARCEDIT, then run BUILD.
 
LINKS are not maintained after CLEAN has been executed.
 
CLEAN will update the NAT if it exists in the <in_cover>.  New nodes will have
their attributes set to zero.
 
CLEAN will update any SECs if they exist in the <in_cover>.  Sections on arcs
that are split are also split and the measures on these arcs are updated.
 
The projection file (PRJ) will be copied to the output coverage.
 
discussion
 
CLEAN builds polygon and arc-node topology by performing a
geometric analysis on the coverage arcs and label points to identify coverage
nodes and polygons.  The specific geometric analysis operations performed by
CLEAN are described below.
 
CLEAN finds intersections between arcs, splits the arcs and codes the
intersections as nodes (i.e., arc endpoints).
 
During CLEAN, two or more arc coordinates within the fuzzy tolerance of each
other are snapped together (i.e., become the same coordinate point).  No
distinction is made between interior arc coordinates and nodes or between arcs.
Because the fuzzy tolerance actually moves arc vertices, understanding its
relationship to coverage resolution is important.  Refer to the following
section called 'Setting tolerances for CLEAN'.
 
CLEAN builds polygon and arc-node topology by identifying areas enclosed by
arcs, and creates the list of arcs which define each polygon boundary.  CLEAN
also numbers nodes, and establishes the from-node and to-node for each arc as
well as the internal polygon numbers to the left and right sides of each arc.
Internal polygon numbers are set to 0 for the LINE option.
 
CLEAN compares the length of dangling arcs against the dangle length and
deletes those that are shorter than that length.  A dangling arc is an arc
which has the same polygon internal number on both its left and right sides,
and ends in a dangling node.
 
For the POLY option, CLEAN finds a label point within each polygon which can be
used to assign a User-ID to each polygon.  Polygons which do not have label
points are assigned User-IDs of 0.  If a polygon contains more than one label
point, one of the labels is chosen arbitrarily to assign a User-ID to the
polygon.
 
CLEAN builds a PAT or AAT depending on the option used.  CLEAN calculates the
area and perimeter for each polygon, and stores this information along with the
polygon internal number and User-ID in the PAT.  If the input coverage has a
PAT, the polygon's original internal number is used to join any additional
items in the PAT to the output coverage PAT.
 
For the LINE option, CLEAN automatically builds line attributes (i.e., an AAT)
for a coverage.  Also, when using the POLY option on an input coverage which
has an AAT, CLEAN will automatically recreate the AAT in the output coverage.
Additional items in the input AAT will be joined into the output AAT using the
arc's old internal number as the relate item.  The LPOLY# and RPOLY# items in
the AAT will equal the new polygon internal numbers.
 
Setting tolerances for CLEAN
 
The choice of a fuzzy tolerance is important for CLEAN.  Since no two
coordinates in the output coverage will be within this distance of each other,
the fuzzy tolerance determines the resolution of the output coverage.  A fuzzy
tolerance that is too small may cause two kinds of problems.
 
CLEAN may not be able to resolve congruent arc segments, that is, parallel arc
segments which are within the fuzzy tolerance of one another.
 
Existing slivers or undershoots may not be successfully cleaned.
 
Conversely, a fuzzy tolerance that is too large may collapse polygons or merge
arcs which should not merge.
 
Take special care in choosing a dangle length.  All dangling arcs which are
shorter than the specified dangle length are deleted.
 
CLEAN can be used to process LINE coverages in which intersecting arcs must be
split, or to re-create arc-node topology after editing.
 
The BUILD command performs similar processing operations.  BUILD with the POLY
option creates polygon topology and attributes (i.e., a PAT).  BUILD with LINE
will create an AAT or rebuild one if it exists.  BUILD does not, however,
perform coordinate editing as does CLEAN.  For example, it cannot split arcs
where they intersect with other arcs.  Another ARC command, RENODE, will
renumber the node numbers for each arc by resetting their internal numbers and
automatically updating the internal number of the from-nodes and to-nodes of
each arc in the coverage AAT.
 
